package com.hxzy.mapper.system;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hxzy.dto.system.SysRoleSearchDTO;
import com.hxzy.entity.system.SysRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

@Mapper
public interface SysRoleMapper extends BaseMapper<SysRole> {

    /**
     * 查询用户拥有的权限
     * @param userId
     * @return
     */
    Set<String> searchUserOwnRole(Long userId);

    /**
     * 为角色授予菜单权限
     * @param roleId
     * @param permsList
     * @return
     */
    int grantMenuPerms(@Param(value = "roleId") Long roleId, @Param(value = "permsList") List<Long> permsList);

    /**
     * 删除已分配的角色权限(sys_role_menu)
     * @param id
     */
    int deleteMenuByRoleId(Long id);

    /**
     * 角色信息分页
     * @param sysRoleSearchDTO
     * @return
     */
    List<SysRole> search( @Param(value = "dto") SysRoleSearchDTO sysRoleSearchDTO);


}